package com.Lacia.emsserver.pojo;

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.time.Instant;

/**
 * @author 万里花
 * @date 2024/6/5 14:39
 */
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
@JsonIgnoreProperties(ignoreUnknown = true)
public class AirCondition {

    @JsonProperty("ems_sn")
    private String emsSN;

    @JsonProperty("ID")
    private String deviceId;

    @JsonProperty("timeStamp")
    private Instant timestamp;
    /** 运行状态 1:Standby（待机状态） 2:Run（运行状态） 3:Fault（故障状态） */
    @JsonProperty("work_state")
    private String workState;
    /** 柜内回风温度（室内温度） */
    @JsonProperty("indoor_temp")
    private Double indoorTemp;
    /** 柜内回风湿度（室内湿度） */
    @JsonProperty("indoor_humidity")
    private Double indoorHumidity;
    /** 冷凝器温度 */
    @JsonProperty("condenser_temp")
    private Double condenserTemp;
    /** 蒸发器温度（排气温度） */
    @JsonProperty("exhaust_temp")
    private Double exhaustTemp;
    /** 交流输入电压 */
    @JsonProperty("ac_voltage")
    private Double acVoltage;
    /** 交流运行电流 */
    @JsonProperty("ac_current")
    private Double acCurrent;
    /** 制冷停止点(制冷开启点=制冷停止点+制冷回差) */
    @JsonProperty("cool_stop_point")
    private Double coolStopPoint;
    /** 制冷回差 */
    @JsonProperty("cool_diff")
    private Double coolDiff;
    /** 加热停止点(加热开启点=加热停止点-加热回差) */
    @JsonProperty("heat_stop_point")
    private Double heatStopPoint;
    /** 加热回差 */
    @JsonProperty("heat_diff")
    private Double heatDiff;
    /** 高湿告警点(%) */
    @JsonProperty("high_humidity_point")
    private Double highHumidityPoint;
    /** 高温告警点 */
    @JsonProperty("high_temp_point")
    private Double highTempPoint;
    /** 低温告警点 */
    @JsonProperty("low_temp_point")
    private Double lowTempPoint;
    /** 空调故障信息 */
    @JsonProperty("air_con_warning1")
    private String airConWarning1;
    /** 空调故障信息 */
    @JsonProperty("air_con_warning2")
    private String airConWarning2;
    /** 通讯状态（warning故障码5000）1:normal 0:lost */
    @JsonProperty("comm_status")
    private Integer commStatus;
    /** 电加热运行状态 0停止 1运行 */
    @JsonProperty("electric_heater_state")
    private Integer electricHeaterState;
    /** 压缩机状态 0停止 1运行 */
    @JsonProperty("compressor_state")
    private Integer compressorState;

    @JsonProperty("type")
    private String type;



}
